Bump agentseam to 0.2.1, derive shell matcher and repo-root token - #104
Merged
Conversation
agentseam 0.2.1 now records a shell vocabulary for codex_cli and
vscode_copilot and a repo_root_token field on claude_code's vendor
entry. Close both gaps chock's tripwire tests were pinned on:
- hooks_map_file derives each vendor's own matcher via
vendors.shell_matcher instead of borrowing claude_code's MATCHER for
codex_cli/vscode_copilot's claude-format plugin hooks.
- in_agent.PROJECT_DIR_TOKEN reads vendors.repo_root_token("claude_code")
instead of chock's own hardcoded copy of ${CLAUDE_PROJECT_DIR}.
Retired the two tripwire tests into derivation checks that fail again
if either field disappears upstream, and updated two hook-runtime
tests that had asserted the old borrowed-matcher behavior as correct.
Regenerated emitter/runtime goldens and this repo's own compiled
output against the new pin.
Signed-off-by: Claude <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The brand-assets CI job installs this separate pip-compile lockfile, then imports chock's own in_agent.py to render the social-preview SVG. That module now asserts PROJECT_DIR_TOKEN is not None at import time, derived from agentseam's repo_root_token -- a field 0.2.0 (still pinned here) doesn't have, so the job failed importing chock's own source. Regenerated requirements/brand-assets.txt with pip-compile to match. Signed-off-by: Claude <noreply@anthropic.com>
open-coder-ai
marked this pull request as ready for review
September 2, 2026 11:05
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Bumps the
agentseampin from0.2.0to0.2.1and wires the two real gapsthis release closes, in the same PR (neither half is green alone against the
new pin):
vocabulary (
tools.shell) forcodex_cli(("Bash",)) andvscode_copilot(("bash", "powershell", "Bash")), where 0.2.0 recordednone.
in_agent.hooks_map_fileused to hardcode claude_code's borrowedMATCHERfor all three vendors' claude-format plugin hooks; it now readseach vendor's own vocabulary via
vendors.shell_matcher(vendor).${CLAUDE_PROJECT_DIR}token, closed. agentseam 0.2.1's vendor-configschema now carries
repo_root_token, populated forclaude_code.in_agent.PROJECT_DIR_TOKENused to be chock's own hardcoded copy; it nowreads
vendors.repo_root_token("claude_code")(new accessor invendors.py, same pattern as the existingconfig_path/shell_matcheraccessors — public
agentseamAPI only, no private imports).Both of
tests/test_vendor_wire_facts.py's tripwire tests for these gaps areretired into derivation checks (the intent — chock and agentseam must not
silently drift apart on these two facts — survives the gap closing): they now
fail if a future agentseam release drops either field again, instead of
failing when it (correctly) adds one. Two hook-runtime tests
(
test_copilot_hook_runtime.py,test_copilot_plugin.py) that had assertedthe old borrowed-matcher value as correct are updated to assert each vendor's
own derived matcher instead.
Emitter-stability and runtime goldens are regenerated
(
CHOCK_REGEN_GOLDENS=1); this repo's own compiled output is refreshed viachock sync --repo .. The runtime-golden diffs are larger than a version-stampline because agentseam 0.2.1 also refactored
contract.py's internals(extracted helper functions, alphabetized
__slots__, a specific exceptiontype in place of a bare
except) — verified as non-behavioral: the full testsuite passes, and the only content diffs beyond that refactor are the two
deliberate fixes above (
codex_cli/vscode_copilotmatcher,claude_coderepo_root_token).Update: the first push's CI caught a real regression this session's local
pytest -qdidn't exercise: thebrand-assetsjob installs a second,independent pip-compile lockfile (
requirements/brand-assets.txt) that wasstill pinned to
agentseam==0.2.0, then imports chock's ownin_agent.pytorender the social-preview SVG — which now asserts
PROJECT_DIR_TOKEN is not Noneat import time, a field 0.2.0 doesn't have. Fixed by bumpingrequirements/brand-assets.into0.2.1too and regeneratingrequirements/brand-assets.txtwithpip-compile --generate-hashes(Python3.12); verified locally with
pip install --require-hashesand a local run ofdocs/assets/gen_brand_assets.py --checkbefore pushing.No consumer-visible capability claim widens — this only makes two existing
derivations honest about their upstream source.
Definition of done
chock check→ 0 errors, 0 warnings, 0 infoschock check --only matrixpasses; no behavior change, matrix unchangedchock sync --repo . --checkclean (compiled artifacts match their manifests)chock check --only verifyclean (lockfile matches packs and compiled artifacts)pytest -qgreen (1055 passed, 2 skipped) against the realagentseam==0.2.1installpytest acceptance/ -c acceptance/pytest.ini --rootdir=acceptancegreen (21 passed) —packaging/hook-installation surfaces are touched by the matcher fix
ruff check .andruff format --check .cleanClaims
two already-emitted facts are read from, not what's emitted or installed.
🤖 Generated with Claude Code